﻿/*
* jHtmlAreaFullScreen 0.7.0
* created by lwm
*/
(function($) {
    if (jHtmlArea) {
        var oldFullScreen = jHtmlArea.fn.fullscreen;
        jHtmlArea.fn.fullscreen = function(c) {
            if (c) {
            	oldFullScreen.call(this, c);
            } else {
            	if (!this.maximize || this.maximize == false)
            		this.maximize = true;
            	else
            		this.maximize = false;
            	if (this.maximize)
            	{
	                var that = this;
	                this.oldwidth = this.textarea.width();
	                this.oldheight = this.textarea.height();
	                this.oldparent = this.container.parent();
	                var dw = $(document).width();
	                var dh = $(document).height();
	                this.textarea.width(dw);
	                this.textarea.height(dh);
	                this.container.width(this.textarea.width());
	                this.iframe.height(this.textarea.height());
	                this.iframe.width(this.textarea.width() - ($.browser.msie ? 0 : 4));
	                // Fix total height to match TextArea
	                //this.iframe.height(this.iframe.height() - this.toolbar.height());
	                this.iframe.height(this.iframe.height() - $('ul:first',this.toolbar).height());
	                this.toolbar.width(this.textarea.width() - 2);
	                //如果不是ie，在移动前需要updatetextarea
	                if (!$.browser.msie || ($.browser.msie && $.browser.version=='9.0'))
	                {
	                	this.updateTextArea();
	                }
	                if ($.browser.msie && $.browser.version=='7.0')//ie7插入到body前会有问题
	                {
	                	if ($('#jHtmlArea_FullScreen','body').size() == 0)
	                		$('body').wrapInner('<div id="jHtmlArea_FullScreen" />');
	                	$('body').prepend(this.container);
	                }
	                else
	                	this.container.insertBefore("body");
	                this.container.addClass("maximize");
	                if ($.browser.msie && $.browser.version=='7.0')//ie7插入到body前会有问题
	                {
	                	$('#jHtmlArea_FullScreen','body').hide();
	                }
	                else
	                {
	                	$('body').hide();
	                }
	                //document.documentElement.scrollTop=0;
	                $("html,body").animate({ scrollTop:0});
	                //如果不是ie，在移动后，需要重新对iframe做处理
	                if (!$.browser.msie || ($.browser.msie && $.browser.version=='9.0'))
	                {
		                var edit = this.editor = this.iframe[0].contentWindow.document;
		                edit.designMode = 'on';
		                edit.open();
		                edit.write(this.textarea.val());
		                edit.close();
	                }
            	}
            	else
            	{
            		this.textarea.width(this.oldwidth);
	                this.textarea.height(this.oldheight);
	                this.container.width(this.textarea.width());
	                this.iframe.height(this.textarea.height());
	                this.iframe.width(this.textarea.width() - ($.browser.msie ? 0 : 4));
	                // Fix total height to match TextArea
	                //this.iframe.height(this.iframe.height() - this.toolbar.height());
	                this.iframe.height(this.iframe.height() - $('ul:first',this.toolbar).height());
	                this.toolbar.width(this.textarea.width() - 2);
	                if ($.browser.msie && $.browser.version=='7.0')//ie7插入到body前会有问题
	                {
	                	$('#jHtmlArea_FullScreen','body').show();
	                }
	                else
	                	$('body').show();
	                this.container.removeClass("maximize");
	                //如果不是ie，在移动前需要updatetextarea
	                if (!$.browser.msie || ($.browser.msie && $.browser.version=='9.0'))
	                {
	                	this.updateTextArea();
	                }
	                this.container.prependTo(this.oldparent);
	                //如果不是ie，在移动后，需要重新对iframe做处理
	                if (!$.browser.msie || ($.browser.msie && $.browser.version=='9.0'))
	                {
		                var edit = this.editor = this.iframe[0].contentWindow.document;
		                edit.designMode = 'on';
		                edit.open();
		                edit.write(this.textarea.val());
		                edit.close();
	                }
            	}
            }
        };
    }
})(jQuery);